$(function() {
    const form = layui.form; //获取form模块
    const layer = layui.layer; //获取layer模块

    // 点击[去注册]显示注册box
    $("#link-reg").on(`click`, function() {
        $(".reg-box").show();
        $(this).parents(".login-box").hide();
    });
    // 点击[去登录]显示登录box
    $("#link-login").on(`click`, function() {
        $(".login-box").show();
        $(this).parents(".reg-box").hide();
    });
    $(".layui-form").on(`submit`, function(e) {
        const $this = $(this);
        let url = `/api/login`;
        let flag = false;
        e.preventDefault();
        const data = $this.serialize();
        const usrname = $this.find(`input[name="username"]`).val();
        const pwd = $this.find(`input[name="password"]`).val();
        // const data = new FormData(this);
        if ($this.parent().hasClass(`reg-box`)) {
            url = `/api/reguser`;
            flag = true;
        }

        function login(usr, pwd) {
            $(".login-box").find(`input[name="username"]`).val(usr);
            $(".login-box").find(`input[name="password"]`).val(pwd);
            $("#link-login").trigger.call($("#link-login"), `click`);
        }
        Ajax(`post`, url, data, function(res) {
            // console.log(res);
            try {
                if (res.status) throw new Error(res.message);
                if (flag) {
                    layer.msg(`注册成功！去登录`, { icon: 1, time: 1000 }, login.bind(null, usrname, pwd)); //layer组件，icon是弹出信息前的图标，1是√，2是×，time是弹出显示的时间，第三个参数是回调函数，在弹出结束后执行
                } else {
                    sessionStorage.setItem(TOKEN, res.token);
                    layer.msg(`登录成功！`, { icon: 1, time: 1000 }, function() {
                        //这种跳转没有后退按钮，没有历史记录
                        location.replace(`/index.html`);
                    });
                }
            } catch (e) {
                layer.msg(e.message, { icon: 2 });
            }
        });
    });
})